switch跟if一樣是條件語句,他會嘗試把某個值與數個模式(pattern)進行匹配。
根據第一個匹配成功的模式,switch語句會執行對應的程式碼。
switch語句由數個case構成,每一個case都是程式碼執行的一條分支,這與if語句類似。
不同的是,switch會決定哪一條分支應該被執行。
switch的每一個可能的值都必須至少有一個case分支與其對應。
enumeration列舉 & if
enum Location {
case north
case east
case south
case west
}
let fastfood = Location.west
if fastfood == .north {
print("頂呱呱")
} else if fastfood == .east {
print("藍蜻蜓")
} else if fastfood == .south {
print("丹丹")
} else if fastfood == .west {
print("樂檸")
}
switch要求匹配列舉的每個成員
switch會全面性的要求匹配列舉的每個成員,以確保沒有成員會被意外遺漏。
switch fastfood {
case .north:
print("頂呱呱")
case .east:
print("藍蜻蜓")
case .south:
print("丹丹")
case .west:
print("樂檸")
}